
******************************************************************
** Article: How parties can shape their competence reputations: **
**			issue attention, position, and performance			**
** Journal: European Journal of Political Research				**
** Date:	September 2024	 									**
** Authors:	Stiers & Dassonneville								**
******************************************************************


***Load dataset
use "Data_observational.dta", clear
	
*ssc install vce2way		// uncomment if not installed yet
*ssc install vioplot		// uncomment if not installed yet
*ssc install grstyle
	
set scheme bw
grstyle init
grstyle set plain, nogrid noextend
	

*** Main analyses ***

***Table 1: Explaining competence reputations with manifesto attention
//Basic model
xtreg ownership i.Minister issue_attention_CMP if parsimonious==1 , fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.issue_attention_CMP if parsimonious==1, fe vce(cluster country)
//Figure 1
margins, dydx(issue_attention_CMP) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike)  title("") xtitle("") ytitle("AME issue attention") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))


***Table 2: Explaining competence reputations with party positions
*Left-right
//Basic model
xtreg ownership i.Minister logrile_extreme if parsimonious==1, fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.logrile_extreme if parsimonious==1, fe vce(cluster country)
//Figure 2(1)
margins, dydx(logrile_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_2_1)
*Specific issues
//Basic model
xtreg ownership i.Minister policy_position_extreme if parsimonious==1, fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.policy_position_extreme if parsimonious==1, fe vce(cluster country)
//Figure 2(2)
margins, dydx(policy_position_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Specific issues") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_2_2)

//Figure 2
graph combine Figure_2_1 Figure_2_2 , scheme(lean1) r(1) ycommon

***Table 3: Explaining competence reputations with unemployment
//Basic model
xtreg ownership i.Minister c.unemployment_rate_weighted if dummy_unemployment==1 & parsimonious==1 , fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.unemployment_rate_weighted if dummy_unemployment==1 &  parsimonious==1, fe vce(cluster country)
//Figure 3
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0 , lpattern(shortdash))
		

*** Analyses appendices ***

***Appendix A
*Figure A.1: Issue ownership of the economy by party by year
//U.S.
graph bar ownership_rep ownership_dem if country_name=="US" & issue_name=="Economy" , stack over(year) percent  ytitle("Percent",size(small)) legend(label(1 "Republicans") label(2 "Democrats") position(6) r(1) size(small) region(lwidth(none))) ylabel(,labsize(small)) title("United States", size(small)) name(Figure_A_1,replace)
//U.K.
graph bar ownership_cons ownership_lab ownership_libdem if country_name=="UK" & issue_name=="Economy" , stack over(year) percent ytitle("Percent",size(small)) legend(label(1 "Conservatives") label(2 "Labour") label(3 "Liberal Democrats") position(6) r(1) size(vsmall) region(lwidth(none))) ylabel(,labsize(small)) title("United Kingdom", size(small)) name(Figure_A_2)
//Germany
graph bar ownership_greens ownership_CDU ownership_FDP ownership_SPD if country_name=="De" & issue_name=="Economy" , stack over(year) percent  ytitle("Percent",size(small)) legend(label(1 "Greens") label(2 "CDU") label(3 "FDP") label(4 "SPD") position(6) r(1) size(vsmall) region(lwidth(none))) ylabel(,labsize(small)) title("Germany", size(small)) name(Figure_A_3)
//Sweden
graph bar ownership_centre ownership_christdem ownership_greens_Se ownership_left ownership_liberal ownership_moderate ownership_socdem if country_name=="Se" & issue_name=="Economy" , stack over(year) percent ytitle("Percent",size(small)) legend(label(1 "Centre") label(2 "Chist-dems") label(3 "Greens") label(4 "Left") label(5 "Liberals") label (6 "Moderate") label (7 "Soc-dems") position(6) r(2) size(vsmall) region(lwidth(none))) ylabel(,labsize(small)) title("Sweden", size(small)) name(Figure_A_4)

//Figure A.1
graph combine Figure_A_1 Figure_A_2 Figure_A_3 Figure_A_4


***Appendix B
*Figure B.1: Issue ownership of the main issues by party family
graph bar (mean) ownership if parfam==10 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Ecological parties",size(small)) horizontal name(Figure_B_1) 

graph bar (mean) ownership if parfam==20 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Socialist parties",size(small)) horizontal name(Figure_B_2) nodraw

graph bar (mean) ownership if parfam==30 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Soc-dem parties",size(small)) horizontal name(Figure_B_3) nodraw

graph bar (mean) ownership if parfam==40 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Liberal parties",size(small)) horizontal name(Figure_B_4) nodraw

graph bar (mean) ownership if parfam==50 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Christ-dem parties",size(small)) horizontal name(Figure_B_5) nodraw

graph bar (mean) ownership if parfam==60 & (issue_name=="asylum/immigration"|issue_name=="Defence"|issue_name=="Economy"|issue_name=="Education"|issue_name=="Environment"|issue_name=="Health"|issue_name=="Law and order"|issue_name=="Social security"|issue_name=="Tax"|issue_name=="Unemployment"), over(issue_name, relabel(1 "Defence" 2 "Economy" 3 "Education" 4 "Environment" 5 "Health" 6 "Social security" 7 "Tax" 8 "Unemployment" 9 "Immigration") label(labsize(small)))  ylabel(,labsize(small)) ytitle("Percentage",size(small)) title("Conservative parties",size(small)) horizontal name(Figure_B_6) nodraw

graph combine Figure_B_1 Figure_B_2 Figure_B_3 Figure_B_4 Figure_B_5 Figure_B_6 , c(2) r(3) ysize(7) xcommon

*Figure B.2: Distribution of ownership perceptions by issue
vioplot ownership , over(issue_name) horizontal  ylabel(,angle(horizontal)) ysize(11) xlabel(0(50)100) obs


***Appendix E
*Table E.1: Replication of Table 2 for proportional and majoritarian systems separately
//Poportional systems
xtreg ownership i.Minister c.logrile_extreme if parsimonious==1 & electoral_system==0, fe vce(cluster country)
xtreg ownership i.Minister##c.logrile_extreme if parsimonious==1 & electoral_system==0, fe vce(cluster country)
//Figure E.1(1)
margins, dydx(logrile_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_E_1)
//Specific issues
xtreg ownership i.Minister c.policy_position_extreme if parsimonious==1 & electoral_system==0, fe vce(cluster country)
xtreg ownership i.Minister##c.policy_position_extreme if parsimonious==1 & electoral_system==0, fe vce(cluster country)
//Figure E.1(2)
margins, dydx(policy_position_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Specific issues") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_E_2)

*Majoritarian
//Left-right
xtreg ownership i.Minister c.logrile_extreme if parsimonious==1 & electoral_system==1, fe vce(cluster country)
xtreg ownership i.Minister##c.logrile_extreme if parsimonious==1 & electoral_system==1, fe vce(cluster country)
//Figure E.1(3)
margins, dydx(logrile_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_E_3)
//Specific issues
xtreg ownership i.Minister c.policy_position_extreme if parsimonious==1 & electoral_system==1, fe vce(cluster country)
xtreg ownership i.Minister##c.policy_position_extreme if parsimonious==1 & electoral_system==1, fe vce(cluster country)
//Figure E.1(4)
margins, dydx(policy_position_extreme) at(Minister=(0 1 2))
marginsplot , recast(scatter) recastci(rspike) title("Specific issues") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_E_4)

//Figure E.1
graph combine Figure_E_1 Figure_E_2 , scheme(lean1) r(1) ycommon name(Figure_E_A, replace) title("Proportional systems",size(med))
graph combine Figure_E_3 Figure_E_4 , scheme(lean1) r(1) ycommon name(Figure_E_B, replace) title("Majoritarian systems",size(med))
graph combine Figure_E_A Figure_E_B, c(1) ycommon ysize(4)


***Appendix F 
*Table F.1: Replication of Table 2 including interaction with election year
//Left-right
xtreg ownership i.Minister c.logrile_extreme##c.year_alt if parsimonious==1, fe vce(cluster country)
xtreg ownership i.Minister##c.logrile_extreme##c.year_alt if parsimonious==1, fe vce(cluster country)
//Specific issues
xtreg ownership i.Minister c.policy_position_extreme##c.year_alt if parsimonious==1, fe vce(cluster country)
xtreg ownership i.Minister##c.policy_position_extreme##c.year_alt if parsimonious==1, fe vce(cluster country)


***Appendix G
*Table G.1: Replication of Table 1 on a smaller sample
//Basic model
xtreg ownership i.Minister issue_attention_CMP if parsimonious==1 & policy_position_extreme~=., fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.issue_attention_CMP if parsimonious==1 & policy_position_extreme~=., fe vce(cluster country)
//Figure G.1
margins, dydx(issue_attention_CMP) at(Minister=(0 1 2))
marginsplot , recast(scatter) recastci(rspike)  title("") xtitle("") ytitle("AME issue attention") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))

*Table G.2. Replication of Table 2 on a smaller sample	
//Basic model
xtreg ownership i.Minister logrile_extreme if parsimonious==1 & policy_position_extreme~=., fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.logrile_extreme if parsimonious==1 & policy_position_extreme~=., fe vce(cluster country)
//Figure G.2
margins, dydx(logrile_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))  name(figure3a, replace)


***Appendix H
*Figure H.1: Number of minister positions on the most prominent issues by party family
hist portfolios if parfam==10 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister ",size(small)) ytitle("Frequency",size(small)) title("Ecological parties",size(small)) name(Figure_H_1,replace)

hist portfolios if parfam==20 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Socialist parties",size(small)) name(Figure_H_2,replace)
	
hist portfolios if parfam==30 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Social democratic parties",size(small)) name(Figure_H_3,replace)

hist portfolios if parfam==40 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Liberal parties",size(small)) name(Figure_H_4,replace)

hist portfolios if parfam==50 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Chistan Democratic parties",size(small)) name(Figure_H_5,replace)

hist portfolios if parfam==60 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Conservative parties",size(small)) name(Figure_H_6,replace)

hist portfolios if parfam==70 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Nationalist parties",size(small)) name(Figure_H_7,replace)

hist portfolios if parfam==80 , width(1) freq  xlabel(1 "Police" 2 "Defense" 3 "Education" 4 "Business" 5 "Environment" 6 "Budget" 7 "Foreign relations" 8 "Economy" 9 "Health" 10 "Immigration" 11 "Labour" 12 "Tax", angle(90) labsize(small)) ylabel(,labsize(small)) xtitle("Minister positions",size(small)) ytitle("Frequency",size(small)) title("Agrarian parties",size(small)) name(Figure_H_8,replace)

*Figure H.1
graph combine Figure_H_1 Figure_H_2 Figure_H_3 Figure_H_4 Figure_H_5 Figure_H_6 Figure_H_7 Figure_H_8 , ycommon c(4) r(2)


***Appendix I
*Table I.1: Replication of Table 1 including a control for party size
//Basic model
xtreg ownership i.Minister issue_attention_CMP pervote if parsimonious==1 , fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.issue_attention_CMP pervote if parsimonious==1, fe vce(cluster country)
//Figure I.1
margins, dydx(issue_attention_CMP) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike)  title("") xtitle("") ytitle("AME issue attention") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))

*Table I.2: Replication of Table 2 including a control for party size*Left-right
//Basic model
xtreg ownership i.Minister logrile_extreme pervote if parsimonious==1, fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.logrile_extreme pervote if parsimonious==1, fe vce(cluster country)
//Figure I.2(1)
margins, dydx(logrile_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_I_21)
*Specific issues
//Basic model
xtreg ownership i.Minister policy_position_extreme pervote if parsimonious==1, fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.policy_position_extreme pervote if parsimonious==1, fe vce(cluster country)
//Figure I.2(2)
margins, dydx(policy_position_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Specific issues") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large)) name(Figure_I_22)

//Figure I.2
graph combine Figure_I_21 Figure_I_22 , scheme(lean1) r(1) ycommon

*Table I.3: Replication of Table 3 including a control for party size 
//Basic model
xtreg ownership i.Minister c.unemployment_rate_weighted pervote if dummy_unemployment==1 & parsimonious==1 , fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.unemployment_rate_weighted pervote if dummy_unemployment==1 &  parsimonious==1, fe vce(cluster country)
//Figure i.3
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0 , lpattern(shortdash))
	

***Appendix J
*Table J.1: Replication of Table 3 for alternative issues
//Immigration
xtreg ownership i.Minister c.unemployment_rate_weighted if issue_code==230 & parsimonious==1 , fe vce(cluster country)
xtreg ownership i.Minister##c.unemployment_rate_weighted if issue_code==230 & parsimonious==1 , fe vce(cluster country)
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Immigration") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0,lpattern(shortdash)) name(Figure_J_1)
//Education
xtreg ownership i.Minister c.unemployment_rate_weighted if issue_code==6 & parsimonious==1 , fe vce(cluster country)
xtreg ownership i.Minister##c.unemployment_rate_weighted if issue_code==6 & parsimonious==1 , fe vce(cluster country)
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Education") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0,lpattern(shortdash)) name(Figure_J_2)
//Environment
xtreg ownership i.Minister c.unemployment_rate_weighted if issue_code==7 & parsimonious==1 , fe vce(cluster country)
xtreg ownership i.Minister##c.unemployment_rate_weighted if issue_code==7 & parsimonious==1 , fe vce(cluster country)
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Environment") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0,lpattern(shortdash)) name(Figure_J_3)
//Health
xtreg ownership i.Minister c.unemployment_rate_weighted if issue_code==3 & parsimonious==1 , fe vce(cluster country)
xtreg ownership i.Minister##c.unemployment_rate_weighted if issue_code==3 & parsimonious==1 , fe vce(cluster country)
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Health") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0,lpattern(shortdash)) name(Figure_J_4,replace)
//Figure J.1
graph combine Figure_J_1 Figure_J_2 Figure_J_3 Figure_J_4 , ycommon


***Appendix K
*Table K.2: Replication of Table 3 using broader coding of the unemployment issue 
//Basic model
xtreg ownership i.Minister c.unemployment_rate_weighted if dummy_unemployment~=0 , fe vce(cluster country)
//With interaction
xtreg ownership i.Minister##c.unemployment_rate_weighted if dummy_unemployment~=0 , fe vce(cluster country)
//Figure K.1
margins, dydx(unemployment_rate_weighted) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("") xtitle("") ytitle("AME unemployment") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) plot1opts(msymbol(O) msize(medium large))  yline(0 , lpattern(shortdash))
		

***Appendix L
*Table L.1: Replication of Table 1 using relative issue attention
//Basic model
xtreg ownership i.Minister issue_attention_CMP_diff if parsimonious==1 , fe vce(cluster country)
//Model inluding interaction with incumbent/minister position
xtreg ownership i.Minister##c.issue_attention_CMP_diff if parsimonious==1, fe vce(cluster country)
//Figure L.1
margins, dydx(issue_attention_CMP_diff) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike)  title("") xtitle("") ytitle("AME issue attention") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))
	
*Table L.2: Explaining issue ownership with party positions
//Left-right
xtreg ownership i.Minister logrile_position_diff_extreme if parsimonious==1, fe vce(cluster country)
xtreg ownership i.Minister##c.logrile_position_diff_extreme if parsimonious==1, fe vce(cluster country)
margins, dydx(logrile_position_diff_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("General ideology") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))  name(Figure_L2_1)
//Specific issues
xtreg ownership i.Minister logrile_policy_diff_extreme if parsimonious==1, fe vce(cluster country)
xtreg ownership i.Minister##c.logrile_policy_diff_extreme if parsimonious==1, fe vce(cluster country)
margins, dydx(logrile_policy_diff_extreme) at(Minister=(0 1 2))
marginsplot ,  recast(scatter) recastci(rspike) title("Specific issues") xtitle("") ytitle("AME extreme position") xlabel(0 "Opposition" 1 `""Incumbent" "not minister""' 2 "Minister") xscale(range(-0.5 2.5)) yline(0 , lpattern(shortdash)) plot1opts(msymbol(O) msize(medium large))  name(Figure_L2_2)

//Figure L.2
graph combine Figure_L2_1 Figure_L2_2, scheme(lean1) r(1) ycommon


***Appendix O: See replication files experiment

***Appendix P: See replication files experiment

***Appendix Q: See replication files experiment

***Appendix R: See replication files experiment

***Appendix S: See replication files experiment


***Appendix T
*Table T.4: Explaining issue ownership with pledge fulfilment
//Tax pledge CPPP
xtreg ownership c.proportion_fulfilled_tax_CPPP if dummy_tax~=0 & incumbent==1 , fe vce(cluster country)
//All pledges
xtreg ownership c.proportion_fulfilled if incumbent==1 , fe vce(cluster country)
